package com.luoran.bartalks.service;

import java.util.List;

import com.luoran.bartalks.entity.biz.BtPlanBiz;

public interface IBtPlanBizService {
	
	//根据箱单物料表ID与地点ID业务类型查询主键ID
	String  getIdByPackingListMaterielId(String packingListMaterielId,String planPositionId,int bizType);
	
	// 根据计划id与地点id查询的容器id
	List<BtPlanBiz> findContainersByPlanPositionIdAndPlanId(String planPositionId, String planId);

	// 根据计划途径点关系表的id,计划id.项目id.查询已装记录条数
	int getInedItemCount(String planPositionId, String planId, String projectId);

	// 根据计划途径点关系表的iD,计划id,项目id.查询已卸记录条数.
	int getOutedItemCount(String planPositionId, String planId, String projectId);

	// 查询在该项目的容器中是否在应卸中
	BtPlanBiz findPlanBizByPlanpositionIdAndContainerId(String planId, String materielId, String containerId,
			String planPositionId);

	// 查询是否是该计划的物料
	BtPlanBiz findmaterielByPlanpositionIdAndplanId(String planId, String materielId, String planPositionId);

	// 新增装卸货信息
	void addPlanBiz(BtPlanBiz btPlanBiz);

	// 根据计划途径点关系表的id,计划id.所属容器id.查询该容器已装物料条数
	int getInedItemCountByContainer(String planPositionId, String planId, String containerId);

	// 根据计划途径点关系表的id,计划id.所属容器id.查询该容器已卸物料条数
	int getOutedItemCountByContainer(String planPositionId, String planId, String containerId);

	// 根据计划途径点关系表的id,计划id.所属容器id.查询该容器已装物料信息
	List<BtPlanBiz> getInedItemInfoCountByContainer(String planPositionId, String planId, String containerId);

	// 根据计划途径点关系表的id,计划id.所属容器id.查询该容器已卸物料信息
	List<BtPlanBiz> getOutedItemInfoCountByContainer(String planPositionId, String planId, String containerId);

	// 删除
	int deleteOutedItemInfoCountByContainer(String id);

	//获取同一容器下的记录.
	List<BtPlanBiz> getContainerExtraInfo(String projectId, String planId, String planPositionId, String containerId);

	//根据箱单物料id,查询当前点该物料是否存在装货记录,
	BtPlanBiz getItemByPackingListMaterielIdAndPlanPositionId(String packingListMaterielId, String planPositionId,int bizType);
}
